<?php
require_once '../../Banco/Conexao.php';
/**
 * @author Silvio
 */
class DaoCadastrarUsuario {
    public function cadastrar(Cliente $cliente,Entrega $entrega){    
    $nome         = trim($cliente->getNome());
    $cpf          = trim($cliente->getCpf());
    $rg           = trim($cliente->getRg());
    $datanasc     = trim($cliente->getDataNascimento());
    $telefone     = trim($cliente->getTelefone());
    $celular      = trim($cliente->getCelular());
    $datacadastro = trim(date("Y/m/d"));;
    $email        = trim($cliente->getEmail());
    $login        = trim($cliente->getEmail());
    $senha        = trim($cliente->getSenha());
    $user         = trim($login);
    $passwd       = trim($senha);
    $endereco     = trim($entrega->getEndereco());
    $numero       = trim($entrega->getNumero());
    $compl        = trim($entrega->getComplemento());
    $cep          = trim($entrega->getCep());
    $bairro       = trim($entrega->getBairro());
    $cidade       = trim($entrega->getCidade());
    $uf           = trim($entrega->getUf());    
    $referencia   = trim($entrega->getReferencia());
    $conexao      = new Conexao();    
    $conexao->conecta();
    try {
          $sql =  "CALL cadastraCliente('$nome', '$cpf', '$rg', '$datanasc','$telefone', 
            '$celular', '$datacadastro', '$email', '$user', '$passwd','$endereco',
            '$numero','$compl', '$cep','$bairro', '$cidade', '$uf', '$telefone', '$referencia')";             
             mysql_query($sql);
             print mysql_error();
             echo '<script> alert("Cadastro realizado com sucesso!.")</script>';
            $conexao->desconnecta();
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
            $conexao->desconnecta();
        }
    }
    public function redefinirSenha(Cliente $cliente){
       $logmail    = trim($cliente->getLogin());
       $cpf        = trim($cliente->getCpf()); 
       $radonsenha = trim($cliente->randomsenha(8));
       $newsenha   =  $radonsenha;
       $conexao  = new Conexao();    
       $conexao->conecta();       
       $sql = "select * from cliente where login = '$logmail' and cli_cpf = '$cpf'";  
       $qry = mysql_query($sql) or die ('Erro ao consultar o banco.');
       $int = (int) mysql_num_rows($qry);
       if($int == 0){
         $conexao->desconnecta();
         echo'<script type="text/javascript" language="javascript">
                 alert("Atenção! Dados inválidos.")
              </script>'; 
       }elseif ($int > 0) {
        require 'Model/class.phpmailer.php';
        $mail = new phpmailer();
        $mail->IsSMTP();
        $mail->SMTPAuth = true;
        $mail->Host = 'smtp.trieste.com.br';
        $mail->Username = 'francisco@trieste.com.br';
        $mail->Password = 'zuzoqaf8';
        $mail->SetFrom('francisco@trieste.com.br');
        $mail->Port = 587;
        $mail->AddAddress($logmail);
        $mail->Subject = 'HAM YA Recuperacao de Conta.';
        $body = "Sr(a).  $logmail, foi solicitado à redefinição de senha da conta Livraria HAM YA leia as informações abaixo:<br><br>
                Caso tenha recebido esse e-mail por engano, provavelmente outro usuário inseriu seu endereço de e-mail ao tentar redefinir uma senha. 
                <br><br>
                Sua nova senha é: <strong>$radonsenha</strong>
                <br><br>
                Observação: Por favor, não responda esse e-mail. 
                <br><br>
                Atenciosamente,<br><br>
                Equipe HAM YA";
        $mail->MsgHTML($body);
        if($mail->Send() == true){
        $update ="update cliente set senha = '$newsenha' where login = '$logmail' and cli_cpf = '$cpf'";            
        mysql_query($update) or die("Falha de atualização no banco de dados.");
        $conexao->desconnecta();             
       }else{
           echo '<script type="text/javascript" language="javascript">
                    alert("Erro ao enviar dados!.") 
                 </script>'.$mail->ErrorInfo;
        }                 
    }      

 }
    public function alteraCadastro(Cliente $cliente, Entrega $entrega) {
      try{  
        if (isset($_COOKIE['_jg@$&#drgt']) and isset($_COOKIE['_nbg&*$#@j'])) {
            $login = $_COOKIE['_jg@$&#drgt'];
            $senha = $_COOKIE['_nbg&*$#@j'];
            $nome      = trim($cliente->getNome());
            $rg        = trim($cliente->getRg());
            $datanasc  = trim($cliente->getDataNascimento());
            $telefone  = trim($cliente->getTelefone());
            $celular   = trim($cliente->getCelular());
            $endereco  = trim($entrega->getEndereco());
            $numero    = trim($entrega->getNumero());
            $compl     = trim($entrega->getComplemento());
            $cep       = trim($entrega->getCep());
            $bairro    = trim($entrega->getBairro());
            $cidade    = trim($entrega->getCidade());
            $uf        = trim($entrega->getUf());            
            $conexao   = new Conexao();
            $conexao->conecta();
            $select = "SELECT cli_id FROM cliente WHERE login = '$login' and senha = '$senha'"; 
            $codigoCliente = mysql_query($select) or die("Falha na execução da consulta.");
            $codigo = mysql_fetch_array($codigoCliente);
            $codCli = (int) $codigo['cli_id'];    
            if ($codCli > 0) {
                $sql = "UPDATE cliente SET cli_nome='$nome',cli_rg='$rg',cli_data_nascimento='$datanasc',
                cli_telefone='$telefone',cli_celular='$celular' WHERE login = '$login' AND senha = '$senha'";
                mysql_query($sql) or die("Falha na execução do insert cliente.");
                $sql1 = "UPDATE entrega SET ent_endereco = '$endereco',ent_numero = '$numero',ent_complemento = '$compl',
                ent_cep = '$cep',ent_bairro = '$bairro',ent_cidade = '$cidade',ent_uf = '$uf',ent_telefone = '$telefone' WHERE entrega.cli_id = $codCli)";
                mysql_query($sql1) or die("Falha na execução do insert entrega.");                
                $conexao->desconnecta();
            }            
        }else{
            echo '<script> alert("Erro de 10245!.")</script>';
        }
      }catch (Exception $exc) {
            echo $exc->getTraceAsString();            
        }        
    }  
    public function alterarEmail(Cliente $cliente) {
        try {
            if (isset($_COOKIE['_jg@$&#drgt']) and isset($_COOKIE['_nbg&*$#@j'])) {
                $login = $_COOKIE['_jg@$&#drgt'];
                $senha = $_COOKIE['_nbg&*$#@j'];
                $conexao = new Conexao();
                $conexao->conecta();
                $sql = "SELECT cli_id FROM cliente WHERE login = '$login' and senha = '$senha'"; 
                $codigoCliente = mysql_query($sql) or die("Falha na execução da consulta.");
                $codigo = mysql_fetch_array($codigoCliente);
                $codCli = (int) $codigo['cli_id'];
                if($codCli > 0) {
                    $novoemail = $cliente->getEmail();
                    $update = "UPDATE cliente SET cli_email = '$novoemail', login = '$novoemail' WHERE login = '$login' AND senha = '$senha'";
                    mysql_query($update);
                }
                $conexao->desconnecta();
            }
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }
    public function alterarSenha(Cliente $cliente) {
        try {
            if (isset($_COOKIE['_jg@$&#drgt']) and isset($_COOKIE['_nbg&*$#@j'])) {
                $login = $_COOKIE['_jg@$&#drgt'];
                $senha = $_COOKIE['_nbg&*$#@j'];
                $conexao = new Conexao();
                $conexao->conecta();
                $sql = "SELECT cli_id FROM cliente WHERE login = '$login' and senha = '$senha'"; 
                $codigoCliente = mysql_query($sql) or die("Falha na execução da consulta.");
                $codigo = mysql_fetch_array($codigoCliente);
                $codCli = (int) $codigo['cli_id'];
                if($codCli > 0) {
                    $novosenha = $cliente->getSenha();
                    $update = "UPDATE cliente SET senha = '$novosenha' WHERE login = '$login' AND senha = '$senha' AND cli_id = $codCli";
                    mysql_query($update);
                }
                $conexao->desconnecta();
            }
        } catch (Exception $exc) {
            echo $exc->getTraceAsString();
        }
    }
    public function autentica(Cliente $cliente) {
        $con = new Conexao();
        $con->conecta();
        $login = $cliente->getLogin();
        $senha = $cliente->getSenha();
        $sql = "select * from cliente where login = '$login' and senha = '$senha'";
        $query = mysql_query($sql) or die('Erro acessando dados dos usuários');
        $linhas = mysql_num_rows($query);
        if ($linhas != 0) {
            ob_start();
            setcookie('_jg@$&#drgt', $login, time() + 2500);
            setcookie('_nbg&*$#@j', $senha, time() + 2500);
            header('location:usuario-finaliza-compra.php');
        }
        $con->desconnecta();
    }
    public function autenticaAdmin(Cliente $cliente) {
        $con = new Conexao();
        $con->conecta();
        $retorno = 1;
        $login = $cliente->getLogin();
        $senha = $cliente->getSenha();
        $sql = "SELECT * FROM administrador WHERE adm_login = '$login' AND adm_senha = '$senha' AND adm_nivelacesso = 1";
        $query = mysql_query($sql) or die('Erro acessando dados dos usuários');
        $linhas = mysql_num_rows($query);
        if ($linhas != 0) {
            session_start();
            $_SESSION['session_admin'] = $login;
            $_SESSION['session_pwd']   = $senha;
            $retorno = 0;
            $con->desconnecta();
        } else {
            return $retorno;
        }
        $con->desconnecta();
    }
    public function validaAcesso() {
        ob_start();
        if (isset($_COOKIE['_jg@$&#drgt']))
            $nome_usuario = $_COOKIE['_jg@$&#drgt'];
        if (isset($_COOKIE['_nbg&*$#@j']))
            $senha_usuario = $_COOKIE['_nbg&*$#@j'];
        if (!(empty($nome_usuario) or empty($senha_usuario))) {
            $conexao = new Conexao();
            $conexao->conecta();            
            $sql = "SELECT cli_id FROM cliente WHERE login = '$nome_usuario' and senha = '$senha_usuario'";
            $query = mysql_query($sql);
            $linhas = mysql_num_rows($query);
            if ($linhas == 0) {
                setcookie('nome_usuario');
                setcookie('senha_usuario');
                header('location:usuario-login.php');
                exit;
            }
        } else {
            header('location:usuario-login.php');
            exit;
        }
    } 
    public function validaAdmin() {
        ob_start();
        session_start();
        if (isset($_SESSION['session_admin']))
            $nome_usuario = $_SESSION['session_admin'];
        if (isset($_SESSION['session_pwd']))
            $senha_usuario = $_SESSION['session_pwd'];
        if (!(empty($nome_usuario) or empty($senha_usuario))) {
            $conexao = new Conexao();
            $conexao->conecta();
            $sql = "SELECT * FROM administrador WHERE adm_login = '$nome_usuario' AND adm_senha = '$senha_usuario' AND adm_nivelacesso = 1";
            $query = mysql_query($sql);
            $linhas = mysql_num_rows($query);
            if ($linhas == 0) {
                ob_start();
                session_start();
                unset($_SESSION['session_admin']);
                unset($_SESSION['session_pwd']);
                header('location:index.php');
                exit;
            }
        } else {
            header('location:index.php');
            exit;
        }
    }
    public function logout() {
        setcookie("nome_usuario");
        setcookie("senha_usuario");
        header("location:usuario-login.php");
    }  
    public function getPedidos(){
        $con = new Conexao();
        try {
              if (isset($_COOKIE['_jg@$&#drgt']) and isset($_COOKIE['_nbg&*$#@j'])) {
                $login = $_COOKIE['_jg@$&#drgt'];
                $senha = $_COOKIE['_nbg&*$#@j'];
                $con->conecta();
                $sql = "SELECT ped_id, ped_status, ped_valorTotal, ped_data from pedido INNER JOIN cliente
                        ON pedido.cli_id = cliente.cli_id 
                        WHERE cliente.login = '$login' AND cliente.senha = '$senha' ORDER BY ped_id DESC";
                $resultado = mysql_query($sql) or die("Falha na execução da consulta.");
                return $resultado;
                $con->desconnecta();
              }
        }catch (Exception $exc){
            echo $exc->getTraceAsString();
            $con->desconnecta();   
        }
  }
    public function getDetalhePedido($id){
        $con = new Conexao();
        try {
              if (!empty($id)) {
                $con->conecta();
                $sql = "SELECT pedido.ped_id, pedido.ped_data, pedido.ped_status, pedido.ped_valorTotal,
                        pedido.ped_observacao, produto.prod_nome, produto.prod_valor,
                        itens_pedido.item_quantidade FROM produto INNER JOIN itens_pedido
                        ON produto.prod_id = itens_pedido.prod_id
                        INNER JOIN pedido ON pedido.ped_id = itens_pedido.ped_id
                        WHERE pedido.ped_id = $id;";
                $resultado = mysql_query($sql) or die("Falha na execução da consulta.");
                return $resultado;
                $con->desconnecta();
              }
        }catch (Exception $exc){
            echo $exc->getTraceAsString();
            $con->desconnecta();   
        }      
  }
    public function getPedidoAberto(){
        $con = new Conexao();
        try {
              if (isset($_COOKIE['_jg@$&#drgt']) and isset($_COOKIE['_nbg&*$#@j'])) {
                $login = $_COOKIE['_jg@$&#drgt'];
                $senha = $_COOKIE['_nbg&*$#@j'];
                $con->conecta();
                $sql = "SELECT ped_id, ped_status, ped_valorTotal, ped_data from pedido INNER JOIN cliente
                        ON pedido.cli_id = cliente.cli_id 
                        WHERE cliente.login = '$login' AND cliente.senha = '$senha' AND ped_status = 'A'
                        ORDER BY ped_id DESC";
                $resultado = mysql_query($sql) or die("Falha na execução da consulta.");
                return $resultado;
                $con->desconnecta();
              }
        }catch (Exception $exc){
            echo $exc->getTraceAsString();
            $con->desconnecta();   
        }
  }
    public function getUltimoPedido(){
        $con = new Conexao();
        try {
              if (isset($_COOKIE['_jg@$&#drgt']) and isset($_COOKIE['_nbg&*$#@j'])) {
                $login = $_COOKIE['_jg@$&#drgt'];
                $senha = $_COOKIE['_nbg&*$#@j'];
                $con->conecta();
                $sql = "SELECT ped_id, ped_status, ped_valorTotal, ped_data from pedido INNER JOIN cliente
                ON pedido.cli_id = cliente.cli_id 
                WHERE cliente.login = '$login' AND cliente.senha = '$senha' 
                ORDER BY ped_id DESC LIMIT 1";
                $resultado = mysql_query($sql) or die("Falha na execução da consulta.");
                return $resultado;
                $con->desconnecta();
              }
        }catch (Exception $exc){
            echo $exc->getTraceAsString();
            $con->desconnecta();   
        }
  }
}

?>
